#ifndef ROLE_H_
#define ROLE_H_

#include <SDL.h>
#include "config.h"
#include "util.h"

typedef struct _Role {
    int glyph;        // index of tile
    Pos old_pos;
    Pos pos;
    int dest_grid;
    int path[MAP_COLS * MAP_ROWS];
    int path_point_index;
    Dir dir;
} Role;

void RoleInit(Role *r, int g, Uint8 X, Uint8 Y);
void RoleMove(Role *r, Dir d);
void RoleDraw(Role *r);
void RoleCastSpell(Role *r, Dir d);
void RoleClearPath(Role *r);
boolean RoleHasPath(Role *r);
void RoleFollowPath(Role *r);

#endif
